Hi Tapio, You can use Mover() or Jog() functions to move an axis outside of the coordinate system.
Regards TK
Group: DynoMotion |
Message: 7774 |
From: tapiolarikka |
Date: 6/24/2013 |
Subject: Re: independent movement?? |
Hi Tom!
If I put Mover() or Jog() to Mach notifyuser thread would that then run async/parallel to a coord motion or would it block the coord motion until it finishes?
I'm looking for a way to make one axis run on it's own phase while coord motion system is running an other task.
Also, is there a way to make a DAC change on timer/PWM?
I need to control a welding power source so that I get arc pulsing.
Rgds,
Tapio
--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Tapio,
>
> You can use Mover() or Jog() functions to move an axis outside of the coordinate system.
>
>
> Regards
> TK
>
>
>
> ________________________________
> From: tapiolarikka <tapio.larikka@...>
> To: DynoMotion@yahoogroups.com
> Sent: Monday, June 24, 2013 2:01 PM
> Subject: [DynoMotion] independent movement??
>
>
>
> Â
> Hi Tom!
>
> How would I go about creating controlled movement on one axis that would be independent of coordinated motion system?
>
> Rgds,
> Tapio
>
|
|
Group: DynoMotion |
Message: 7775 |
From: Tom Kerekes |
Date: 6/24/2013 |
Subject: Re: independent movement?? |
Hi Tapio,
Yes it will run in parallel without blocking the Coordinated Motion as long as it is not an Axis in the Coordinated Motion System.
BTW I made a
typeo. It should be Move() not Mover().
Regarding DAC change on Timer. You would need to explain more clearly what you mean. But most likely yes you can write a C program loop to write DAC values based on Time_secs() values. New values could be written every 180us.
Regards TK
Group: DynoMotion |
Message: 7802 |
From: tapiolarikka |
Date: 6/28/2013 |
Subject: Re: independent movement?? |
Hi Tom!
Most welding machines if have seen, define arc pulsing with
Phase time, (0.1sec to 1.2sec in my application)
Pulse ratio (0-100% of phase time high amps, rest low amps)
High amps, controlled by DAC
Low amps, controlled by DAC
Rampup time in sec, current rise time from 0 to high amp at ignition/start, analog to acceleration
Rampdown time in sec, current fall time to 0, analog to deceleration
One could say that I'm basically looking for a way to have a second, async coord motion, consisting of a rotational axis starting from
0 deg and a DAC (connected to welding power source current pot) controlling the welding current.
Simple welding program example would look like
Sector speed pulse% LowA HighA Phasetime
0 2 60 40 70 0,6
90 2 60 30 40 0,6
180 2 60 40 70 0,6
270 2 60 30 40 0,6
360 2 60 40 70 0,6
370 2,5 100 18 18 0,6
after axis has reach the last sector (370 above) the axis should keep running for the period of ramp down during which the current gradually decreases until given cutoff value.
Switching from high amp to low and back is square wave like PWM, but between two DAC values instead of 0&1 whereas the speed and current changes between two sectors would be linear.
Loading new speed and current values every 180us is way more accurate than needed and the high/low amp transition is not synced to angle/pos.
Could the above, if I have managed to express myself understandably, be accomplished in a user thread without putting to much computational stress on system, causing problems for a three axis milling?
Rgds,
Tapio
--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Tapio,
>
> Yes it will run in parallel without blocking the Coordinated Motion as long as it is not an Axis in the Coordinated Motion System.
>
> BTW I made a typeo. It should be Move() not Mover().
>
> Regarding DAC change on Timer. You would need to explain more clearly what you mean. But most likely yes you can write a C program loop to write DAC values based on Time_secs() values. New values could be written every 180us.
>
>
> Regards
> TK
>
>
>
> ________________________________
> From: tapiolarikka <tapio.larikka@...>
> To: DynoMotion@yahoogroups.com
> Sent: Monday, June 24, 2013 3:06 PM
> Subject: [DynoMotion] Re: independent movement??
>
>
>
> Â
> Hi Tom!
>
> If I put Mover() or Jog() to Mach notifyuser thread would that then run async/parallel to a coord motion or would it block the coord motion until it finishes?
>
> I'm looking for a way to make one axis run on it's own phase while coord motion system is running an other task.
>
> Also, is there a way to make a DAC change on timer/PWM?
> I need to control a welding power source so that I get arc pulsing.
>
> Rgds,
> Tapio
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Hi Tapio,
> >
> > You can use Mover() or Jog() functions to move an axis outside of the coordinate system.
> >
> >
> > Regards
> > TK
> >
> >
> >
> > ________________________________
> > From: tapiolarikka <tapio.larikka@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Monday, June 24, 2013 2:01 PM
> > Subject: [DynoMotion] independent movement??
> >
> >
> >
> > ÃÂ
> > Hi Tom!
> >
> > How would I go about creating controlled movement on one axis that would be independent of coordinated motion system?
> >
> > Rgds,
> > Tapio
> >
>
|
|
Group: DynoMotion |
Message: 7840 |
From: tapiolarikka |
Date: 7/2/2013 |
Subject: Re: independent movement?? |
Hi Tom!
Have you had a chance to give this any thought?
Rgds,
Tapio
--- In DynoMotion@yahoogroups.com, "tapiolarikka" <tapio.larikka@...> wrote:
>
> Hi Tom!
>
> Most welding machines if have seen, define arc pulsing with
>
> Phase time, (0.1sec to 1.2sec in my application)
> Pulse ratio (0-100% of phase time high amps, rest low amps)
> High amps, controlled by DAC
> Low amps, controlled by DAC
> Rampup time in sec, current rise time from 0 to high amp at ignition/start, analog to acceleration
> Rampdown time in sec, current fall time to 0, analog to deceleration
>
> One could say that I'm basically looking for a way to have a second, async coord motion, consisting of a rotational axis starting from
> 0 deg and a DAC (connected to welding power source current pot) controlling the welding current.
>
> Simple welding program example would look like
>
> Sector speed pulse% LowA HighA Phasetime
> 0 2 60 40 70 0,6
> 90 2 60 30 40 0,6
> 180 2 60 40 70 0,6
> 270 2 60 30 40 0,6
> 360 2 60 40 70 0,6
> 370 2,5 100 18 18 0,6
>
> after axis has reach the last sector (370 above) the axis should keep running for the period of ramp down during which the current gradually decreases until given cutoff value.
>
> Switching from high amp to low and back is square wave like PWM, but between two DAC values instead of 0&1 whereas the speed and current changes between two sectors would be linear.
>
> Loading new speed and current values every 180us is way more accurate than needed and the high/low amp transition is not synced to angle/pos.
>
> Could the above, if I have managed to express myself understandably, be accomplished in a user thread without putting to much computational stress on system, causing problems for a three axis milling?
>
> Rgds,
> Tapio
>
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Hi Tapio,
> >
> > Yes it will run in parallel without blocking the Coordinated Motion as long as it is not an Axis in the Coordinated Motion System.
> >
> > BTW I made a typeo. It should be Move() not Mover().
> >
> > Regarding DAC change on Timer. You would need to explain more clearly what you mean. But most likely yes you can write a C program loop to write DAC values based on Time_secs() values. New values could be written every 180us.
> >
> >
> > Regards
> > TK
> >
> >
> >
> > ________________________________
> > From: tapiolarikka <tapio.larikka@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Monday, June 24, 2013 3:06 PM
> > Subject: [DynoMotion] Re: independent movement??
> >
> >
> >
> > Â
> > Hi Tom!
> >
> > If I put Mover() or Jog() to Mach notifyuser thread would that then run async/parallel to a coord motion or would it block the coord motion until it finishes?
> >
> > I'm looking for a way to make one axis run on it's own phase while coord motion system is running an other task.
> >
> > Also, is there a way to make a DAC change on timer/PWM?
> > I need to control a welding power source so that I get arc pulsing.
> >
> > Rgds,
> > Tapio
> >
> > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > >
> > > Hi Tapio,
> > >
> > > You can use Mover() or Jog() functions to move an axis outside of the coordinate system.
> > >
> > >
> > > Regards
> > > TK
> > >
> > >
> > >
> > > ________________________________
> > > From: tapiolarikka <tapio.larikka@>
> > > To: DynoMotion@yahoogroups.com
> > > Sent: Monday, June 24, 2013 2:01 PM
> > > Subject: [DynoMotion] independent movement??
> > >
> > >
> > >
> > > ÃÂ
> > > Hi Tom!
> > >
> > > How would I go about creating controlled movement on one axis that would be independent of coordinated motion system?
> > >
> > > Rgds,
> > > Tapio
> > >
> >
>
|
|
Group: DynoMotion |
Message: 7842 |
From: TK |
Date: 7/2/2013 |
Subject: Re: independent movement?? |
Hi Tapio,
I'm not sure I really understand all that. It seems you want to have a motor axis move 0 to 360 degrees. Or maybe a DAC changing? Or both? I can't see any reason that couldn't be performed with a User program progressing through your table commanding motor destinations and DAC settings as a function of time. You would have to write the code to do this. Did you have a specific question for me?
Regards TK
Hi Tom!
Have you had a chance to give this any thought?
Rgds,
Tapio
--- In DynoMotion@yahoogroups.com, "tapiolarikka" <tapio.larikka@...> wrote:
>
> Hi Tom!
>
> Most welding machines if have seen, define arc pulsing with
>
> Phase time, (0.1sec to 1.2sec in my application)
> Pulse ratio (0-100% of phase time high amps, rest low amps)
> High amps, controlled by DAC
> Low amps, controlled by DAC
> Rampup time in sec, current rise time from 0 to high amp at ignition/start, analog to acceleration
> Rampdown time in sec, current fall time to 0, analog to deceleration
>
> One could say that I'm basically looking for a way to have a second, async coord motion, consisting of a rotational axis starting from
> 0 deg and a DAC (connected to welding power source current pot) controlling the welding current.
>
> Simple welding program example would look like
>
> Sector speed pulse% LowA HighA Phasetime
> 0 2 60 40 70 0,6
> 90 2 60 30 40 0,6
> 180 2 60 40 70 0,6
> 270 2 60 30 40 0,6
> 360 2 60 40 70 0,6
> 370 2,5 100 18 18 0,6
>
> after axis has reach the last sector (370 above) the axis should keep running for the period of ramp down during which the current gradually decreases until given cutoff value.
>
> Switching from high amp to low and back is square wave like PWM, but between two DAC values instead of 0&1 whereas the speed and current changes between two sectors would be linear.
>
> Loading new speed and current values every 180us is way more accurate than needed and the high/low amp transition is not synced to angle/pos.
>
> Could the above, if I have managed to express myself understandably, be accomplished in a user thread without putting to much computational stress on system, causing problems for a three axis milling?
>
> Rgds,
> Tapio
>
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Hi Tapio,
> >
> > Yes it will run in parallel without blocking the Coordinated Motion as long as it is not an Axis in the Coordinated Motion System.
> >
> > BTW I made a typeo. It should be Move() not Mover().
> >
> > Regarding DAC change on Timer. You would need to explain more clearly what you mean. But most likely yes you can write a C program loop to write DAC values based on Time_secs() values. New values could be written every 180us.
> >
> >
> > Regards
> > TK
> >
> >
> >
> > ________________________________
> > From: tapiolarikka <tapio.larikka@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Monday, June 24, 2013 3:06 PM
> > Subject: [DynoMotion] Re: independent movement??
> >
> >
> >
> >
> > Hi Tom!
> >
> > If I put Mover() or Jog() to Mach notifyuser thread would that then run async/parallel to a coord motion or would it block the coord motion until it finishes?
> >
> > I'm looking for a way to make one axis run on it's own phase while coord motion system is running an other task.
> >
> > Also, is there a way to make a DAC change on timer/PWM?
> > I need to control a welding power source so that I get arc pulsing.
> >
> > Rgds,
> > Tapio
> >
> > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > >
> > > Hi Tapio,
> > >
> > > You can use Mover() or Jog() functions to move an axis outside of the coordinate system.
> > >
> > >
> > > Regards
> > > TK
> > >
> > >
> > >
> > > ________________________________
> > > From: tapiolarikka <tapio.larikka@>
> > > To: DynoMotion@yahoogroups.com
> > > Sent: Monday, June 24, 2013 2:01 PM
> > > Subject: [DynoMotion] independent movement??
> > >
> > >
> > >
> > > Â
> > > Hi Tom!
> > >
> > > How would I go about creating controlled movement on one axis that would be independent of coordinated motion system?
> > >
> > > Rgds,
> > > Tapio
> > >
> >
>
|
|
Group: DynoMotion |
Message: 7858 |
From: tapiolarikka |
Date: 7/4/2013 |
Subject: Re: independent movement?? |
Hi Tom!
I think I was trying to ask if you had a sample code to get me started?
Having rethought this I think that I can do with a very simple code
with Jog() and a few parameters for the phase time and DAC values.
Is there any way to see if the code is so time consuming that it would have negative effect on the coordsystem / KFlop running my milling machine.?
In other words:
How big computations can be run in user thread without negative impact on milling operations?
I did not find Time_secs() in script commands. How fine grain value are returned? I which format?
Rgds,
Tapio
--- In DynoMotion@yahoogroups.com, TK <tk@...> wrote:
>
> Hi Tapio,
>
> I'm not sure I really understand all that. It seems you want to have a motor axis move 0 to 360 degrees. Or maybe a DAC changing? Or both? I can't see any reason that couldn't be performed with a User program progressing through your table commanding motor destinations and DAC settings as a function of time. You would have to write the code to do this. Did you have a specific question for me?
>
> Regards
> TK
>
> On Jul 2, 2013, at 1:56 PM, "tapiolarikka" <tapio.larikka@...> wrote:
>
> > Hi Tom!
> >
> > Have you had a chance to give this any thought?
> >
> > Rgds,
> >
> > Tapio
> >
> > --- In DynoMotion@yahoogroups.com, "tapiolarikka" <tapio.larikka@> wrote:
> > >
> > > Hi Tom!
> > >
> > > Most welding machines if have seen, define arc pulsing with
> > >
> > > Phase time, (0.1sec to 1.2sec in my application)
> > > Pulse ratio (0-100% of phase time high amps, rest low amps)
> > > High amps, controlled by DAC
> > > Low amps, controlled by DAC
> > > Rampup time in sec, current rise time from 0 to high amp at ignition/start, analog to acceleration
> > > Rampdown time in sec, current fall time to 0, analog to deceleration
> > >
> > > One could say that I'm basically looking for a way to have a second, async coord motion, consisting of a rotational axis starting from
> > > 0 deg and a DAC (connected to welding power source current pot) controlling the welding current.
> > >
> > > Simple welding program example would look like
> > >
> > > Sector speed pulse% LowA HighA Phasetime
> > > 0 2 60 40 70 0,6
> > > 90 2 60 30 40 0,6
> > > 180 2 60 40 70 0,6
> > > 270 2 60 30 40 0,6
> > > 360 2 60 40 70 0,6
> > > 370 2,5 100 18 18 0,6
> > >
> > > after axis has reach the last sector (370 above) the axis should keep running for the period of ramp down during which the current gradually decreases until given cutoff value.
> > >
> > > Switching from high amp to low and back is square wave like PWM, but between two DAC values instead of 0&1 whereas the speed and current changes between two sectors would be linear.
> > >
> > > Loading new speed and current values every 180us is way more accurate than needed and the high/low amp transition is not synced to angle/pos.
> > >
> > > Could the above, if I have managed to express myself understandably, be accomplished in a user thread without putting to much computational stress on system, causing problems for a three axis milling?
> > >
> > > Rgds,
> > > Tapio
> > >
> > >
> > > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > > >
> > > > Hi Tapio,
> > > >
> > > > Yes it will run in parallel without blocking the Coordinated Motion as long as it is not an Axis in the Coordinated Motion System.
> > > >
> > > > BTW I made a typeo. It should be Move() not Mover().
> > > >
> > > > Regarding DAC change on Timer. You would need to explain more clearly what you mean. But most likely yes you can write a C program loop to write DAC values based on Time_secs() values. New values could be written every 180us.
> > > >
> > > >
> > > > Regards
> > > > TK
> > > >
> > > >
> > > >
> > > > ________________________________
> > > > From: tapiolarikka <tapio.larikka@>
> > > > To: DynoMotion@yahoogroups.com
> > > > Sent: Monday, June 24, 2013 3:06 PM
> > > > Subject: [DynoMotion] Re: independent movement??
> > > >
> > > >
> > > >
> > > >
> > > > Hi Tom!
> > > >
> > > > If I put Mover() or Jog() to Mach notifyuser thread would that then run async/parallel to a coord motion or would it block the coord motion until it finishes?
> > > >
> > > > I'm looking for a way to make one axis run on it's own phase while coord motion system is running an other task.
> > > >
> > > > Also, is there a way to make a DAC change on timer/PWM?
> > > > I need to control a welding power source so that I get arc pulsing.
> > > >
> > > > Rgds,
> > > > Tapio
> > > >
> > > > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > > > >
> > > > > Hi Tapio,
> > > > >
> > > > > You can use Mover() or Jog() functions to move an axis outside of the coordinate system.
> > > > >
> > > > >
> > > > > Regards
> > > > > TK
> > > > >
> > > > >
> > > > >
> > > > > ________________________________
> > > > > From: tapiolarikka <tapio.larikka@>
> > > > > To: DynoMotion@yahoogroups.com
> > > > > Sent: Monday, June 24, 2013 2:01 PM
> > > > > Subject: [DynoMotion] independent movement??
> > > > >
> > > > >
> > > > >
> > > > > Ã
> > > > > Hi Tom!
> > > > >
> > > > > How would I go about creating controlled movement on one axis that would be independent of coordinated motion system?
> > > > >
> > > > > Rgds,
> > > > > Tapio
> > > > >
> > > >
> > >
> >
> >
>
|
|
Group: DynoMotion |
Message: 7859 |
From: Tom Kerekes |
Date: 7/4/2013 |
Subject: Re: independent movement?? |
Hi Tapio,
The User programs basically run in parallel using a preemptive multitasking scheme. So your User program would have no negative effect on the Coordinated Motion trajectory, Axis Motions, and so forth. See:
http://dynomotion.com/Help/Multitasking.htm
Actually the number of User Threads that you have concurrently running does reduce the amount of CPU time available for the System to process motion segments coming from the PC. So try to keep the number of your threads to a minimum. But I don't think you will have any problem.
I would expect that the calculations to read the current time, use the time as an index into some sort of Job Table, perform some simple calculations, and call a Jog or a DAC function would take less than 100us of CPU time.
Time_Secs() is a C function not a Console Script command. It returns the time in seconds since KFLOP was powered. It uses a 50MHz Hardware timer so has 20ns resolution. The time is accumulated as a 64-bit double precision floating point value (~17 digits of
precision) so you don't have to worry about numerical overflow or round off errors for times less that your lifetime.
HTH Regards TK
| | | | | |